package A2013;

import java.util.ArrayList;

/*
对一些数字，倒过来看也是合理的数字。如：1 2 5 6 8 9 0 都可以。这样一来，如果牌子挂倒了，有可能完全变成了另一个价格，
比如：1958 倒着挂就是：8561，差了几千元啊!!
    当然，多数情况不能倒读，比如，1110 就不能倒过来，因为0不能作为开始数字。
    有一天，悲剧终于发生了。某个店员不小心把店里的某两个价格牌给挂倒了。并且这两个价格牌的电视机都卖出去了!
    庆幸的是价格出入不大，其中一个价牌赔了2百多，另一个价牌却赚了8百多，综合起来，反而多赚了558元。
    请根据这些信息计算：赔钱的那个价牌正确的价格应该是多少？
 */
public class _4_颠倒的价牌 {
    static ArrayList<Price> p1=new ArrayList<Price>();
    static ArrayList<Price> p2=new ArrayList<Price>();
    public static void main(String[] args){
        for (int i = 1000; i <=9999 ; i++) {
            //可优化
//            String sub=""+i; 此判断可以简略到步骤1的操作
//            if (sub.contains("3")||sub.contains("4")||sub.contains("7")||sub.substring(3,3)=="0")
            f(""+i);
        }
        for (Price a1:p1
        ) {
            for (Price a2:p2
            ) {
                if (a1.chajia-a2.chajia==558||a1.chajia-a2.chajia==-558){
                    System.out.println(a1.yuanjia+" "+a1.chajia);
                    System.out.println(a2.yuanjia+" "+a2.chajia);
                }
            }
        }
    }
    static void f(String s){
        char[] ch=s.toCharArray();//将字符串转化为char型的字符串
        //步骤一
        for (int i = 0; i < 4; i++) {//将不符合可颠倒的数字过滤去掉
            if (ch[i] == '3'||ch[i] == '4'||ch[i] == '7'||ch[3] == '0') {
                return;
            }
        }
        for (int i = 3; i >= 0; i--) {//将字符串的颠倒数字进行变化
            if (ch[i]=='6'){
                ch[i]='9';
            }else if (ch[i] == '9') {
                ch[i]='6';
            }
        }
        for (int i = 0; i < 2; i++) {//将字符串进行颠倒
            char c=ch[i];
            ch[i]=ch[3-i];
            ch[3-i]=c;
        }
        int x=Integer.parseInt(s);
        int y=Integer.parseInt(new String(ch));
        if (y-x>200&&y-x<300){
            p1.add(new Price(y,y-x));
        }
        if (y-x>800&&y-x<900){
            p2.add(new Price(y,y-x));
        }
    }
   public static class Price{
        int yuanjia;
        int chajia;
        public Price(int yuanjia, int chajia) {
            this.yuanjia = yuanjia;
            this.chajia = chajia;
        }
    }
}
